package com.ow.dva.module.passingRecord.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ow.dva.module.base.entity.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 过车记录表
 * </p>
 *
 * @author YanZengBao
 * @version V1.0
 * @since 2020-01-13
 */
@TableName("dva_passing_record")
@ApiModel(value = "PassingRecord对象", description = "过车记录表")
public class PassingRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    @ApiModelProperty(value = "停车场ID")
    private String parkId;

    @ApiModelProperty(value = "停车场名称")
    private String parkName;

    @ApiModelProperty(value = "车道ID")
    private String roadId;

    @ApiModelProperty(value = "车道编号")
    private String roadCode;

    @ApiModelProperty(value = "车道名称")
    private String roadName;

    @ApiModelProperty(value = "默认通道号（预留）")
    private String channel;

    @ApiModelProperty(value = "设备 ip 地址")
    private String ipaddr;

    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    @ApiModelProperty(value = "车牌类型 0-未知车牌:1-蓝牌小汽车2-黑牌小汽车3-单排黄牌4-双排黄牌5-警车车牌6-武警车牌7-个性化车牌8-单排军车牌9-双排军车牌" +
            "10：使馆车牌11:香港进出中国大陆车牌、12：农用车牌、13：教练车牌、14：澳门进出中国大陆车牌、15：双层武警车牌、16：武警总队车牌、17：双层武警总队车牌、18：民航车牌、19：新能源车牌" )
    private Integer licenseType;

    @ApiModelProperty(value = "车牌颜色 0：蓝色、1：黄色、2：黑色、3-白色 4-其他")
    private Integer licenseColor;

    @ApiModelProperty(value = "识别结果可行度")
    private Integer confidence;

    @ApiModelProperty(value = "车身颜色（预留）")
    private Integer carColor;

    @ApiModelProperty(value = "预留字段")
    private String colorValue;

    @ApiModelProperty(value = "预留字段")
    private String bright;

    @ApiModelProperty(value = "车身亮度（预留）")
    private String carBright;

    @ApiModelProperty(value = "车的行进方向（预留）0进车，1出车")
    private Integer direction;

    @ApiModelProperty(value = "是否为脱机记录，0：在线记录，1：离线记录")
    private Integer isoffline;

    @ApiModelProperty(value = "车牌号")
    private String license;

    @ApiModelProperty(value = "抓拍大图")
    private String bigImage;

    @ApiModelProperty(value = "抓拍小图")
    private String smallImage;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "过车时间")
    private Date passTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "添加时间")
    private Date createTime;

    @ApiModelProperty(value = "出场对应的进场ID")
    private String enterId;

    @ApiModelProperty(value = "使用状态（0-未出车 1-已出车）")
    private Integer useStatus;

    @ApiModelProperty(value = "用户ID")
    private String userId;

    @ApiModelProperty(value = "地锁，车位")
    private String deviceNum;

    @TableField(exist = false)
    private Integer count;

    @TableField(exist = false)
    private String lat;
    @TableField(exist = false)
    private String lng;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getParkId() {
        return parkId;
    }

    public void setParkId(String parkId) {
        this.parkId = parkId;
    }

    public String getParkName() {
        return parkName;
    }

    public void setParkName(String parkName) {
        this.parkName = parkName;
    }

    public String getRoadId() {
        return roadId;
    }

    public void setRoadId(String roadId) {
        this.roadId = roadId;
    }

    public String getRoadCode() {
        return roadCode;
    }

    public void setRoadCode(String roadCode) {
        this.roadCode = roadCode;
    }

    public String getRoadName() {
        return roadName;
    }

    public void setRoadName(String roadName) {
        this.roadName = roadName;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getIpaddr() {
        return ipaddr;
    }

    public void setIpaddr(String ipaddr) {
        this.ipaddr = ipaddr;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public Integer getLicenseType() {
        return licenseType;
    }

    public void setLicenseType(Integer licenseType) {
        this.licenseType = licenseType;
    }

    public Integer getLicenseColor() {
        return licenseColor;
    }

    public void setLicenseColor(Integer licenseColor) {
        this.licenseColor = licenseColor;
    }

    public Integer getConfidence() {
        return confidence;
    }

    public void setConfidence(Integer confidence) {
        this.confidence = confidence;
    }

    public Integer getCarColor() {
        return carColor;
    }

    public void setCarColor(Integer carColor) {
        this.carColor = carColor;
    }

    public String getColorValue() {
        return colorValue;
    }

    public void setColorValue(String colorValue) {
        this.colorValue = colorValue;
    }

    public String getBright() {
        return bright;
    }

    public void setBright(String bright) {
        this.bright = bright;
    }

    public String getCarBright() {
        return carBright;
    }

    public void setCarBright(String carBright) {
        this.carBright = carBright;
    }

    public Integer getDirection() {
        return direction;
    }

    public void setDirection(Integer direction) {
        this.direction = direction;
    }

    public Integer getIsoffline() {
        return isoffline;
    }

    public void setIsoffline(Integer isoffline) {
        this.isoffline = isoffline;
    }

    public String getLicense() {
        return license;
    }

    public void setLicense(String license) {
        this.license = license;
    }

    public String getBigImage() {
        return bigImage;
    }

    public void setBigImage(String bigImage) {
        this.bigImage = bigImage;
    }

    public String getSmallImage() {
        return smallImage;
    }

    public void setSmallImage(String smallImage) {
        this.smallImage = smallImage;
    }

    public String getEnterId() {
        return enterId;
    }

    public void setEnterId(String enterId) {
        this.enterId = enterId;
    }

    public Integer getUseStatus() {
        return useStatus;
    }

    public void setUseStatus(Integer useStatus) {
        this.useStatus = useStatus;
    }


    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getDeviceNum() {
        return deviceNum;
    }

    public void setDeviceNum(String deviceNum) {
        this.deviceNum = deviceNum;
    }

    public Date getPassTime() {
        return passTime;
    }

    public void setPassTime(Date passTime) {
        this.passTime = passTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public String getLat() {
        return lat;
    }

    public void setLat(String lat) {
        this.lat = lat;
    }

    public String getLng() {
        return lng;
    }

    public void setLng(String lng) {
        this.lng = lng;
    }

    @Override
    public String toString() {
        return "PassingRecord{" +
                "id=" + id +
                ", parkId=" + parkId +
                ", parkName=" + parkName +
                ", roadId=" + roadId +
                ", roadCode=" + roadCode +
                ", roadName=" + roadName +
                ", channel=" + channel +
                ", ipaddr=" + ipaddr +
                ", deviceName=" + deviceName +
                ", licenseType=" + licenseType +
                ", licenseColor=" + licenseColor +
                ", confidence=" + confidence +
                ", carColor=" + carColor +
                ", colorValue=" + colorValue +
                ", bright=" + bright +
                ", carBright=" + carBright +
                ", direction=" + direction +
                ", isoffline=" + isoffline +
                ", license=" + license +
                ", bigImage=" + bigImage +
                ", smallImage=" + smallImage +
                ", passTime=" + passTime +
                ", enterId=" + enterId +
                ", useStatus=" + useStatus +
                ", createTime=" + createTime +
                ", userId=" + userId +
                ", deviceNum=" + deviceNum +
                "}";
    }

    public PassingRecord() {
    }

    /**
     * 自定义构造方法
     */
    public PassingRecord(String id,Integer isoffline,Date createTime,Integer useStatus){
        this.id = id;
        this.isoffline = isoffline;
        this.createTime = createTime;
        this.useStatus = useStatus;
    }

    public PassingRecord(String id, String parkId, String parkName, String roadId, String roadCode, String roadName, String channel, String ipaddr, String deviceName, Integer licenseType, Integer licenseColor, Integer confidence, Integer carColor, String colorValue, String bright, String carBright, Integer direction, Integer isoffline, String license, String bigImage, String smallImage, Date passTime, Date createTime, String enterId, Integer useStatus, String userId, String deviceNum) {
        this.id = id;
        this.parkId = parkId;
        this.parkName = parkName;
        this.roadId = roadId;
        this.roadCode = roadCode;
        this.roadName = roadName;
        this.channel = channel;
        this.ipaddr = ipaddr;
        this.deviceName = deviceName;
        this.licenseType = licenseType;
        this.licenseColor = licenseColor;
        this.confidence = confidence;
        this.carColor = carColor;
        this.colorValue = colorValue;
        this.bright = bright;
        this.carBright = carBright;
        this.direction = direction;
        this.isoffline = isoffline;
        this.license = license;
        this.bigImage = bigImage;
        this.smallImage = smallImage;
        this.passTime = passTime;
        this.createTime = createTime;
        this.enterId = enterId;
        this.useStatus = useStatus;
        this.userId = userId;
        this.deviceNum = deviceNum;
    }
}
